热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

本文|版权所有_javaweb开发(mybatis编程)

篇首语:本文由编程笔记#小编为大家整理,主要介绍了javaweb开发(mybatis编程)相关的知识,希望对你有一定的参考价值。【声明:版权所有

篇首语:本文由编程笔记#小编为大家整理,主要介绍了java web开发(mybatis编程)相关的知识,希望对你有一定的参考价值。


【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】


        目前java web标准的开发模式是ssm,前面两个s就是我们熟悉的spring和spring mvc。至于m,就是今天要聊的mybatis。使用mybatis,既需要使用配置文件mybatis-config.xml,也需要把sql语句写到***Dao.xml文件中。这就是它和hibernate不一样的地方。

        本文主要参考了两个链接,分别是链接1https://blog.csdn.net/aaa958099161/article/details/108098946,链接2https://juejin.cn/post/7042311420561588260,在此一并表示感谢。

        下面,就可以描述一下应该如何配置和使用mybatis。


1、利用IDEA+maven创建一个maven-archetype-quickstart工程


2、工程命名为Hello,不停单击Next,直到工程创建结束


3、修改pom.xml文件

3.1 添加依赖


org.mybatis
mybatis
3.4.5


mysql
mysql-connector-java
5.1.47

 3.2 在build下的pluginManagement后面添加资源说明



src/main/resources

**/*.properties
**/*.xml

false


src/main/java

**/*.properties
**/*.xml

false



4、创建数据库java_web,并且创建一个user.sql导入表,表的内容如下所示,


CREATE TABLE `user` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(50) NOT NULL,

`birthday` datetime DEFAULT NULL,

`sex` varchar(1) DEFAULT NULL,

`address` varchar(50) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

5、添加User.java类

package org.example;
import java.io.Serializable;
import java.util.Date;
public class User implements Serializable
private Integer id;
private String name;
private Date birthday;
private String sex;
private String address;
@Override
public String toString()
return "User" +
"id=" + id +
", name='" + name + '\\'' +
", birthday=" + birthday +
", sex='" + sex + '\\'' +
", address='" + address + '\\'' +
'';

public Integer getId()
return id;

public void setId(Integer id)
this.id = id;

public String getName()
return name;

public void setName(String name)
this.name = name;

public Date getBirthday()
return birthday;

public void setBirthday(Date birthday)
this.birthday = birthday;

public String getSex()
return sex;

public void setSex(String sex)
this.sex = sex;

public String getAddress()
return address;

public void setAddress(String address)
this.address = address;


6、添加IUserDao.java类

package org.example;
import java.util.List;
public interface IUserDao
List findAll();

7、添加IUserDao.xml配置文件


PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">


        注意,这个文件在mybatis-config.xml中会被引用到。


8、修改App.java文件

package org.example;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
* Hello world!
*
*/
public class App
public static void main( String[] args )

/* define local variable*/
InputStream in =null;
SqlSession sqlSession=null;
/* read xml file and make initial configuration */
try
in = Resources.getResourceAsStream("mybatis-config.xml");
sqlSession = new SqlSessionFactoryBuilder().build(in).openSession();
catch(IOException ioe)
return;

/* get user data from sqlSession */
IUserDao iUserDao = sqlSession.getMapper(IUserDao.class);
List list =iUserDao.findAll();
for (User user:list)
System.out.println(user);

/* database reading finished, close everything peacefully */
try
in.close();
catch(IOException ioe)
System.out.println("exception happened in in.close()");

finally
sqlSession.close();



9、在src/main下面创建resources目录,创建mybatis-config.xml文件


PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">



















10、所有配置文件文件都准备好后,结构如下所示,


11、利用maven-》“Hello”-》“Lifecycle”-》“compile”进行编译


12、到了这一步,就可以开始运行App.class文件了,

       执行过程中,如果有弹窗,选择“Hello”即可,

       不出意外的话,就可以看到这样的打印信息,

"C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\bin\\java.exe" "-javaagent:C:\\Program Files\\JetBrains\\IntelliJ IDEA 2020.1.1\\lib\\idea_rt.jar=59510:C:\\Program Files\\JetBrains\\IntelliJ IDEA 2020.1.1\\bin" -Dfile.encoding=UTF-8 -classpath "C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\charsets.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\deploy.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\ext\\access-bridge-32.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\ext\\cldrdata.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\ext\\dnsns.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\ext\\jaccess.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\ext\\jfxrt.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\ext\\localedata.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\ext\\nashorn.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\ext\\sunec.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\ext\\sunjce_provider.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\ext\\sunmscapi.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\ext\\sunpkcs11.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\ext\\zipfs.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\javaws.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\jce.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\jfr.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\jfxswt.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\jsse.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\management-agent.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\plugin.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\resources.jar;C:\\Program Files (x86)\\Java\\jdk1.8.0_91\\jre\\lib\\rt.jar;C:\\Users\\feixiaoxing\\Desktop\\Hello\\target\\classes;D:\\software\\apache-maven-3.6.3-bin\\repository\\org\\mybatis\\mybatis\\3.4.5\\mybatis-3.4.5.jar;D:\\software\\apache-maven-3.6.3-bin\\repository\\mysql\\mysql-connector-java\\5.1.47\\mysql-connector-java-5.1.47.jar" org.example.App
Sat Oct 08 06:52:56 CST 2022 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Userid=1, name='tom', birthday=Sat Oct 08 06:13:03 CST 2022, sex='m', address='china'
Process finished with exit code 0

        注意,数据是自己在数据库里面添加的,显示的内容由自己来设定的。



推荐阅读
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • Struts与Spring框架的集成指南
    本文详细介绍了如何将Struts和Spring两个流行的Java Web开发框架进行整合,涵盖从环境配置到代码实现的具体步骤。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • ASP.NET MVC中Area机制的实现与优化
    本文探讨了在ASP.NET MVC框架中,如何通过Area机制有效地组织和管理大规模应用程序的不同功能模块。通过合理的文件夹结构和命名规则,开发人员可以更高效地管理和扩展项目。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
author-avatar
林伯爵
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有